const HtmlWebpackPlugin = require('html-webpack-plugin');
const { resolve } = require('path');
const path = require('path');

const basePath = __dirname; // __dirname是node中的一个超级变量,Node.js中，__dirname总是指向文件的绝对路径
console.log(path.join(basePath, "src"), '----------');

// 检测解决这些后缀的文件
resolve: {
    extensions: [".js", ".ts", ".tsx"]
}

module.exports = {
    context: path.join(basePath, "src"),
    //入口配置
    entry: ["./index.tsx"],
    output: {
        path: path.join(basePath, "dist"),
        filename: "bundle.js"
    }, // 输出文件配置，将 index.tsx 打包到dist目录下
    plugins: [
        new HtmlWebpackPlugin({
            filename: 'index.html',
            template: 'index.html',
            hash: true, // 性能优化，随机生成文件版本号，保证版本号不重复
        })
    ],
    module: {
        rules: [
            {
                test: /\.(ts|tsx)$/,
                exclude: /node_modules/, //排除掉这里面的文件，不进行处理
                loader: 'awesome-typescript-loader', // ts处理器，转义ts
                options: {
                    usebable: true,
                    babelCore: "@babel/core"
                }
            }
        ]
    }
}


